home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / cart32_xss.nasl < prev    next >
Text File  |  2005-03-31  |  2KB  |  79 lines

  1. #
  2. # Script by Noam Rathaus
  3. #
  4. # From: "Dr Ponidi" <drponidi@hackermail.com>
  5. # Subject: Cart32 Input Validation Flaw in 'GetLatestBuilds?cart32=' Permits Remote Cross-Site Scripting Attacks
  6. # Date: 27.6.2004 21:37
  7.  
  8. if(description)
  9. {
  10.  script_id(12290);
  11.  script_bugtraq_id(10617);
  12.  script_version("$Revision: 1.3 $");
  13.  
  14.  name["english"] = "Cart32 GetLatestBuilds XSS";
  15.  
  16.  script_name(english:name["english"]);
  17.  
  18.  desc["english"] = "
  19. The remote host is using Cart32.
  20. There is a bug in this software which makes it vulnerable to cross site
  21. scripting attacks.
  22.  
  23. An attacker may use this bug to steal the credentials of the legitimate users
  24. of this site.
  25.  
  26. Risk factor: Medium";
  27.  
  28.  script_description(english:desc["english"]);
  29.  
  30.  summary["english"] = "Checks for the presence of an XSS bug in Cart32";
  31.  
  32.  script_summary(english:summary["english"]);
  33.  
  34.  script_category(ACT_ATTACK);
  35.  
  36.  script_copyright(english:"This script is Copyright (C) 2004 Noam Rathaus");
  37.  family["english"] = "CGI abuses : XSS";
  38.  family["francais"] = "Abus de CGI";
  39.  script_family(english:family["english"], francais:family["francais"]);
  40.  script_dependencie("find_service.nes", "cross_site_scripting.nasl", "http_version.nasl");
  41.  script_require_ports("Services/www", 80);
  42.  exit(0);
  43. }
  44.  
  45. #
  46. # The script code starts here
  47. #
  48.  
  49.  
  50. include("http_func.inc");
  51. include("http_keepalive.inc");
  52.  
  53. port = get_http_port(default:80);
  54.  
  55. if(!get_port_state(port))exit(0);
  56. if(!can_host_php(port:port))exit(0);
  57. if (  get_kb_item(string("www/", port, "/generic_xss")) ) exit(0);
  58.  
  59.  
  60. function check(loc)
  61. {
  62.  req = http_get(item:string(loc, "/cart32.exe/GetLatestBuilds?cart32=%3Cscript%3Efoo%3C/script%3E"),
  63.          port:port);
  64.  r = http_keepalive_send_recv(port:port, data:req, bodyonly:1);
  65.  if( r == NULL )exit(0);
  66.  if(egrep(pattern:"<script>foo</script>", string:r))
  67.  {
  68.      security_warning(port);
  69.     exit(0);
  70.  }
  71. }
  72.  
  73. check(loc:"/");
  74. foreach dir (cgi_dirs())
  75. {
  76.  check(loc:dir);
  77. }
  78.  
  79.